Grundlagen der Datenbankentwicklung und -verwaltung
SQL & NoSQL | Datenmodelle | CRUD & ACID
Eine Datenbank ist eine strukturierte Sammlung von Daten, die elektronisch gespeichert und verwaltet wird.
| Aspekt | Strukturierte Daten | Unstrukturierte Daten |
|---|---|---|
| Format | Festes Schema, Tabellen | Kein festes Format |
| Beispiele | Kundendaten, Rechnungen, Inventar | E-Mails, Bilder, Videos, Social Media |
| Speicherung | Relationale Datenbanken | NoSQL, Data Lakes |
| Abfrage | SQL, einfach | Spezielle Tools, komplex |
| Analyse | Direkt analysierbar | Vorverarbeitung nötig |
Mischform: JSON, XML - haben Struktur, aber flexibles Schema
Struktur: Tabellen mit Zeilen/Spalten
Beispiele: MySQL, PostgreSQL, Oracle
Ideal für: Strukturierte Daten, Transaktionen
Struktur: JSON/BSON Dokumente
Beispiele: MongoDB, CouchDB
Ideal für: Flexible Schemas, Web-Apps
Struktur: Knoten und Kanten
Beispiele: Neo4j, ArangoDB
Ideal für: Beziehungsanalyse, Empfehlungen
Struktur: Schlüssel-Wert Paare
Beispiele: Redis, DynamoDB
Ideal für: Caching, Sessions
| Kriterium | SQL (Relationale DB) | NoSQL |
|---|---|---|
| Schema | Fest definiert, wenig flexibel | Dynamisch, sehr flexibel |
| Skalierung | Vertikal (mehr Power) | Horizontal (mehr Server) |
| Konsistenz | ACID - stark konsistent | Eventually consistent |
| Abfragesprache | Standardisiertes SQL | Verschiedene APIs/Sprachen |
| Anwendungsfall | Komplexe Beziehungen, Transaktionen | Big Data, schnelle Entwicklung |
SQL: E-Commerce, Banking, ERP-Systeme
NoSQL: Social Media, IoT, Real-time Analytics
Die vier Grundoperationen für jede Datenbank
Die vier fundamentalen Eigenschaften für Datenbank-Transaktionen
Transaktion ist unteilbar - entweder komplett erfolgreich oder komplett rückgängig
Beispiel: Geldüberweisung - Abbuchung UND Gutschrift müssen klappen
Datenbank bleibt immer in gültigem Zustand
Beispiel: Konto kann nie negativen Saldo haben (wenn Regel definiert)
Gleichzeitige Transaktionen beeinflussen sich nicht
Beispiel: Zwei Personen buchen letzten Kinositz - nur einer bekommt ihn
Erfolgreiche Änderungen gehen nie verloren
Beispiel: Nach Stromausfall sind alle bestätigten Buchungen noch da
Am weitesten verbreitet! Daten in Tabellen mit Beziehungen
Grafische Darstellung der Datenstruktur - zeigt Entitäten und ihre Beziehungen
Objekt der realen Welt
Beispiele: Kunde, Produkt, Bestellung
Symbol: Rechteck
Eigenschaft einer Entität
Beispiele: Kundenname, Preis, Datum
Symbol: Oval
Verbindung zwischen Entitäten
Beispiele: "kauft", "gehört zu"
Symbol: Raute
Redundanzen vermeiden und Datenintegrität sicherstellen
Struktur der Datenbank definieren
Daten abfragen und lesen
Daten ändern, einfügen, löschen
Berechtigungen und Zugriffskontrolle
Strukturierte vs. unstrukturierte Daten verstehen
SQL für komplexe Beziehungen, NoSQL für Flexibilität
CRUD als Basis aller Datenbank-Interaktionen
ACID für zuverlässige Transaktionen
Praktische Übungen mit MySQL/PostgreSQL, Datenbankdesign-Projekte, NoSQL-Experimente mit MongoDB